<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>大事件-后台首页</title>
    <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/iconfont.css">
    <link rel="stylesheet" href="css/main.css">
    <script src="./libs/jquery-1.12.4.min.js"></script>
    <!-- 导入bootstrap的js文件 -->
    <script src="./libs/bootstrap/js/bootstrap.min.js"></script>

</head>

<body>
    <div class="sider">
        <a href="#" class="logo"><img src="images/logo02.png" alt="logo"></a>
        <div class="user_info">
            <img src="images/2.jpg" alt="person">
            <span>欢迎&nbsp;&nbsp;李思思</span>
            <b>管理员</b>
        </div>
        <!-- 左侧导航栏 -->
        <div class="menu">
            <div class="level01 active"><a href="./main_count.html" target="main_frame"><i
                        class="iconfont icon-yidiandiantubiao04"></i><span>首页</span></a></div>

            <div class="level01"><a href="./article_list.html" target="main_frame"><i
                        class="iconfont icon-icon-article"></i><span>文章管理</span><b
                        class="iconfont icon-arrowdownl"></b></a></div>

            <ul class="level02">
                <li><a href="./article_list.html" target="main_frame"><i
                            class="iconfont icon-previewright"></i><span>文章列表</span></a></li>
                <li><a href="./article_release.html" target="main_frame"><i
                            class="iconfont icon-previewright"></i><span>发表文章</span></a>
                </li>
                <li><a href="./article_category.html" target="main_frame"><i
                            class="iconfont icon-previewright"></i><span>文章类别管理</span></a>
                </li>
            </ul>

            <div class="level01"><a href="./comment_list.html" target="main_frame"><i
                        class="iconfont icon-comment"></i><span>评论管理</span></a></div>
            <div class="level01" id="user"><a href="./user.html" target="main_frame"><i
                        class="iconfont icon-user"></i><span>个人中心</span></a>
            </div>
        </div>
        <!-- 顶部栏 -->
        <div class="header_bar">
            <div class="user_center_link">
                <a href="./user.html" target="main_frame">个人中心</a>
                <img src="images/2.jpg" alt="person">
                <a href="javascript:void(0)" class="logout"><i class="iconfont icon-tuichu"></i> 退出</a>
            </div>
        </div>
        <!-- 右侧主体内容 -->
        <div class="main" id="main_body">
            <!-- 准备一个网页容器 -->
            <iframe name="main_frame" src="./main_count.html" style="width: 100%; height: 100%;"></iframe>
        </div>
    </div>

    <!-- bootstrap模态框静态结构 -->
    <div id="myModal" class="modal fade" tabindex="-1" role="dialog">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
                            aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title">温馨提示</h4>
                </div>
                <div class="modal-body">
                    <p>One fine body&hellip;</p>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">确定</button>
                </div>
            </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
    </div><!-- /.modal -->

</body>

</html>
<!-- 导入https文件 -->
<script src="./libs/https.js"></script>
<script>
    $(function () {
        // 0.利用ajax全局属性方法，携带token
        // 问题：写在这里又会出现一些问题，每一个页面都需要写上，那么有没有那么一个位置可以书写，然后每一个页面又用到呢？
        // 解决：将这些代码放到jq文件的最后面！！！！
        // $.ajaxSetup({
        //     // 当ajax即将发起请求之前，会执行下面的函数
        //     beforeSend: function (xhr) {
        //         // 给请求头设置token数据
        //         xhr.setRequestHeader('Authorization', localStorage.getItem('token80'))
        //     }
        // })

        // 1.发起请求，获得用户的基本信息
        // 如果不利用请求头属性携带token的值，后台会报错403，因为后台无法确定你是否已经登录
        // 在ajax请求的时候，携带在登录成功之后返回的token数据
        // localStorage.getItem('token80');
        $.ajax({
            type: 'get',
            // 利用BigNew对象中的成员来代表后台接口
            // 注意：使用的时候不需要加上引号
            url: BigNew.user_info,
            // 2.利用请求头属性，携带token数据
            // 问题：后台有20几个接口，那每一个接口都需要写这句代码，有没有简单的方法可以解决这个问题
            // headers: {
            //     'Authorization': localStorage.getItem('token80')
            // },
            success: function (backData) {
                // console.log(backData);
                if (backData.code == 200) {
                    // 3.将用户信息渲染至指定页面中
                    $('.user_info img,.user_center_link img').attr('src', backData.data.userPic);
                    $('.user_info span').html(`欢迎&nbsp;&nbsp;${backData.data.nickname}`);
                }
            },

            // 在ajax请求中，当请求报错的时候，会执行一下代码
            error: function (xhr, status, err) {
                // 判断报错的原因是不是因为用户没有登录
                console.log(err);
                if (err == 'Forbidden') {
                    // 这里代表用户没有登录，应该让他返回登录页面进行登录
                    // alert('尊敬的用户，您还未登录，请返回登录页面登录');

                    // 调用bootstrap框架
                    $('#myModal').modal();
                    $('.modal-body p').text('尊敬的用户，您还未登录，请返回登录页面登录');

                    // 监听模块框是否关闭
                    $('#myModal').on('hidden.bs.modal', function (e) {
                        window.location = './login.html';
                    })
                }
            }
        })

        // 4.给退出按钮设置点击事件
        $('.logout').on('click', function (e) {
            // 5.删除token，退回登录页面
            // alert('退出成功，请重新登录！');

            // bootstrap模块框架
            $('#myModal').modal();
            $('.modal-body p').text('退出成功，请重新登录！');

            // 监听模块框是否已经关闭
            $('#myModal').on('hidden.bs.modal', function (e) {
                localStorage.removeItem('token80');
                window.location = './login.html';
            })

        })

        // 6.给一级菜单设置点击事件
        $('.level01').on('click', function (e) {
            // 7.给当前按钮设置类名，移除兄弟元素的类名，用来设置高亮效果
            $(this).addClass('active').siblings('.level01').removeClass('active');

            // 8.判断是否点击了文章管理按钮，这里推荐使用下标的方式
            // 通过文字也可以获得到下标
            if ($(this).index() == 1) {
                // 9.显示或者隐藏二级菜单，利用slideToggle(点击显示与隐藏)
                $('.level02').slideToggle();

                // 10.控制箭头的动画
                // 添加或者移除类名rotate0
                // toggleClass：如果有就移除，如果没有就添加
                $('.icon-arrowdownl').toggleClass('rotate0');
                // 利用代码调用二级菜单的点击事件，为了显示高亮效果
                $('.level02 li').eq(0).click();
            } else {
                // 如果点击其他的按钮，二级菜单页面也得收回去
                $('.level02').slideUp();
                $('.icon-arrowdownl').removeClass('rotate0');
            }
        })

        // 11.给所有二级菜单设置点击事件
        $('.level02 li').on('click', function (e) {
            $(this).addClass('active').siblings().removeClass('active');
        })
    })
</script>